Code Smells Detection and Visualization: A Systematic Literature Review

نویسندگان

چکیده

Context: Code smells (CS) tend to compromise software quality and also demand more effort by developers maintain evolve the application throughout its life-cycle. They have long been catalogued with corresponding mitigating solutions called refactoring operations. Objective: This SLR has a twofold goal: first is identify main code detection techniques tools discussed in literature, second analyze which extent visual applied support former. Method: Over 83 primary studies indexed major scientific repositories were identified our search string this SLR. Then, following existing best practices for secondary studies, we inclusion/exclusion criteria select most relevant works, extract their features classify them. Results: We found that commonly used approaches are search-based (30.1%), metric-based (24.1%). Most of (83.1%) use open-source software, Java language occupying position (77.1%). In terms smells, God Class (51.8%), Feature Envy (33.7%), Long Method (26.5%) covered ones. Machine learning 35% studies. Around 80% only detect without providing visualization techniques. visualization-based several methods used, such as: city metaphors, 3D Conclusions: confirm CS non trivial task, there still lot work be done of: reducing subjectivity associated definition CS; increasing diversity detected supported programming languages; constructing sharing oracles datasets facilitate replication validation experiments.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Code smells

s, titles and keywords were analysed by VOSviewer using default parameters. All common terms like study, baseline, control group, trend, method were excluded from the analysis. Three maps were induced (1) clustered landscapes presenting popularity of terms (more popular terms are presented in larger squares), associations between terms (terms locted near each other are stongly associated) and r...

متن کامل

How Do Community Smells Influence Code Smells?

Code smells reflect sub-optimal patterns of code that often lead to critical software flaws or failure. In the sameway, community smells reflect sub-optimal organisational and socio-technical patterns in the organisational structure of the software community. To understand the relation between the community smells and code smells we start by surveying 162 developers of nine opensource systems. ...

متن کامل

Code-Smells Detection as a Bi-Level Problem

Code-Smells represent design situations that can affect the maintenance and evolution of software. They make a system difficult to evolve. Code-smells are detected, in general, using quality metrics that represent some symptoms. However, the selection of suitable quality metrics is challenging due to the absence of consensus to identify some code-smells based on a set of symptoms and also the h...

متن کامل

Code-Smells Detection using Good and Bad Software Design Examples

Code-Smells refer to design situations that may adversely affect the maintenance of software. They make a system difficult to change, which may in turn introduce bugs. Codesmells are detected, in general, using quality metrics that formalize some symptoms based on detection rules. We propose in this work to consider the problem of code-smells detection as a multi-objective problem where example...

متن کامل

An Eclipse Plugin to Support Code Smells Detection

Eradication of code smells is often pointed out as a way to improve readability, extensibility and design in existing software. However, code smell detection in large systems remains time consuming and error-prone, partly due to the inherent subjectivity of the detection processes presently available. In view of mitigating the subjectivity problem, this paper presents a tool that automates a te...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

ژورنال

عنوان ژورنال: Archives of Computational Methods in Engineering

سال: 2021

ISSN: ['1886-1784', '1134-3060']

DOI: https://doi.org/10.1007/s11831-021-09566-x